import {getCompanyList,getCompanyDetail} from  '../../api/company'
Page({

  /**
   * 页面的初始数据
   */
  data: {
    activities: [
      {
        image: "https://ossweb-img.qq.com/images/lol/web201310/skin/big10001.jpg",
        name: "河南百事通",
        tags: ["民营", "事业单位"],
        testName: "测试2740",
        price: "0.01元/天"
      },
      {
        image: "https://ossweb-img.qq.com/images/lol/web201310/skin/big81007.jpg",
        name: "上海科技公司",
        tags: ["国企", "科技企业"],
        testName: "测试2345",
        price: "0.02元/天"
      },
      {
        image: "https://ossweb-img.qq.com/images/lol/img/champion/Morgana.png",
        name: "北京智汇通",
        tags: ["民营", "创新公司"],
        testName: "测试1987",
        price: "0.05元/天"
      },
      {
        image: "https://ossweb-img.qq.com/images/lol/img/champion/Taric.png",
        name: "深圳前海科技",
        tags: ["民营", "互联网"],
        testName: "测试3124",
        price: "0.03元/天"
      }
    ],
    company_list : [],
    pageNo : 1,
    pageSize : 10,
    loading: false,
    noMoreData: false,
    company_name : ''
  },
  init_data(){
    this.setData({
      pageNo : 1,
      pageSize : 10,
      loading : false,
      noMoreData : false
    })
    this.loadMoreData(true)
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    this.loadMoreData()
  },
    // 异步加载数据
    async loadMoreData(reload = false) {
      // 防止重复加载和无更多数据时继续加载
      if (this.data.loading || this.data.noMoreData) return;
  
      // 设置加载状态
      this.setData({ loading: true });
  
      try {
        // 获取新数据
        const newItems = await this.getListData();
  
        // 处理无数据或有数据的情况
        this.setData({
          company_list: reload ? newItems : [...this.data.company_list, ...newItems],
          noMoreData: newItems.length === 0,
          pageNo: reload ? 1 : this.data.pageNo + (newItems.length ? 1 : 0), // 页码更新
        });
      } catch (error) {
        console.error('加载更多数据失败:', error);
      } finally {
        // 关闭加载状态
        this.setData({ loading: false });
      }
    },


      //获取数据
  async getListData() {
    try {
      // 调用接口获取数据
      let request_data = {
        pageSize: this.data.pageSize,   
        pageNo: this.data.pageNo, 
      }
      if(this.data.company_name !=''){
        request_data.companyName = this.data.companyName
      }
      const response = await getCompanyList(request_data);
     
      if (response && response.data && response.data.list) {
        return response.data.list; // 返回数据列表
      } else {
        throw new Error('数据格式错误');
      }
    } catch (error) {
      return []; // 返回空数组，避免后续逻辑错误
    }
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {
    this.loadMoreData()
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})